---
title: 👩🏼‍🚀 Testing Across Platforms
description: Running the same test suite on different platforms.
tags: [cross-platform, Node.js, Bun, Deno, tutorial, roadmap]
sidebar_position: 3
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import Maintainer from '@site/static/img/maintainer.svg';

<div className='title-section'>
<aside>

# 👩🏼‍🚀 Testing Across Platforms

- Running the same test suite on different platforms.

</aside>
  <aside>
    <Maintainer className='logo' height='128' />
  </aside>
</div>

<hr />

## Running tests in specific platforms

```sh
npx poku
```

- It runs **Poku** through **Node.js** and ensures that all tests are run with **Node.js** (or **tsx** for **TypeScript** tests).

```sh
bun poku
```

- It runs **Poku** through **Bun** and ensures that all tests are run with **Bun**.

```sh
deno run npm:poku
```

- It runs **Poku** through **Deno** and ensures that all tests are run with **Deno**.

:::tip
For **TypeScript** users, there's no need to install **tsx** for **Bun** and **Deno**, as they both run **TypeScript** natively.
:::

<hr />

### Running CommonJS with Deno `v1`

> See all options for **Deno** [here](/docs/3.x.x/documentation/poku/options/deno).

#### All files as CommonJS

```sh
deno run npm:poku --denoCjs
```

#### A specific extension as CommonJS

```sh
deno run npm:poku --denoCjs='.cjs'
```

#### Multiple extensions as CommonJS

```sh
deno run npm:poku --denoCjs='.cjs,.js'
```

<hr />

### Recommendations

:::tip
It's usually beneficial to have an exclusive _CI_ for each platform, especially to ensure better control in error cases.
:::

<hr />

:::note
If you find any typos, feel free to open a **Pull Request** correcting them.
:::
